home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / dev / src / CdBS_KQSrc0_3.lha / KaliosysQuantrum / Ripolin.s < prev    next >
Text File  |  1997-11-06  |  6KB  |  296 lines

  1. *
  2. * CdBSian Obviously Universal & Interactive Nonsense (COUIN)
  3. * (Absurdité CdBSienne Manifestement Universelle et Interactive)
  4. * ©1997, CdBS Software (MORB)
  5. * Ripolin generator
  6. * $Id: Ripolin.s 0.2 1997/11/06 21:07:28 MORB Exp MORB $
  7. *
  8.  
  9. ;fs "_Ripolin"
  10. _Ripolin:
  11.          lea       MntRipolinData(pc),a0
  12.          lea       RipolinBuf,a1
  13.  
  14.          moveq     #0,d0
  15.          move.l    #$2909fffe,d1
  16.          moveq     #0,d2
  17.          moveq     #0,d3
  18.          moveq     #0,d4
  19.  
  20.          addq.l    #1,a0
  21.          move.b    (a0)+,d2
  22.          move.b    (a0)+,d3
  23.          move.b    (a0)+,d4
  24.  
  25.          swap      d2
  26.          swap      d3
  27.          swap      d4
  28.  
  29.          sub.l     a5,a5
  30.  
  31. .Loop:
  32.          move.l    (a0)+,d0
  33.          bmi.s     .Done
  34.  
  35.          move.l    a5,d5
  36.          move.l    d0,a5
  37.          sub.l     d5,d0
  38.  
  39.          moveq     #0,d5
  40.          moveq     #0,d6
  41.          moveq     #0,d7
  42.  
  43.          addq.l    #1,a0
  44.          move.b    (a0)+,d5
  45.          move.b    (a0)+,d6
  46.          move.b    (a0)+,d7
  47.  
  48.          swap      d5
  49.          swap      d6
  50.          swap      d7
  51.  
  52.          sub.l     d2,d5
  53.          sub.l     d3,d6
  54.          sub.l     d4,d7
  55.  
  56.          divs.l    d0,d5
  57.          divs.l    d0,d6
  58.          divs.l    d0,d7
  59.  
  60.          subq.w    #1,d0
  61. .GnaLoop:
  62.          move.l    d0,a2
  63.          move.l    d1,a3
  64.          move.l    d5,a4
  65.  
  66.          move.l    #$960000,(a1)+
  67.          move.l    d1,(a1)+
  68.          ;add.l     #$1000000,d1
  69.  
  70.          swap      d2
  71.          move.b    d2,d0
  72.          and.w     #$f0,d0
  73.          move.b    d2,d1
  74.          and.w     #$f,d1
  75.          swap      d2
  76.  
  77.          swap      d3
  78.          move.b    d3,d5
  79.          and.b     #$f,d5
  80.          lsl.b     #4,d1
  81.          or.b      d5,d1
  82.  
  83.          move.b    d3,d5
  84.          and.b     #$f0,d5
  85.          lsr.b     #4,d5
  86.          or.b      d5,d0
  87.          swap      d3
  88.  
  89.          swap      d4
  90.          move.b    d4,d5
  91.          and.b     #$f,d5
  92.          lsl.w     #4,d1
  93.          or.b      d5,d1
  94.  
  95.          move.b    d4,d5
  96.          and.b     #$f0,d5
  97.          lsr.b     #4,d5
  98.          lsl.w     #4,d0
  99.          or.b      d5,d0
  100.          swap      d4
  101.  
  102.          lea       4*4(a1),a1
  103.  
  104.          move.w    #color+2*5,(a1)+
  105.          move.w    d0,(a1)+
  106.  
  107.          move.w    #color+2*21,(a1)+
  108.          move.w    d0,(a1)+
  109.  
  110.          move.l    #$01063220,(a1)+
  111.  
  112.          move.w    #color+2*5,(a1)+
  113.          move.w    d1,(a1)+
  114.  
  115.          move.w    #color+2*21,(a1)+
  116.          move.w    d1,(a1)+
  117.  
  118.          move.l    #$01063020,(a1)+
  119.  
  120.          move.w    #color+2*9,(a1)+
  121.          move.w    d0,(a1)+
  122.  
  123.          move.w    #color+2*25,(a1)+
  124.          move.w    d0,(a1)+
  125.  
  126.          move.w    #color+2*13,(a1)+
  127.          move.w    d0,(a1)+
  128.  
  129.          move.l    #$01063220,(a1)+
  130.          move.w    #color+2*9,(a1)+
  131.          move.w    d1,(a1)+
  132.  
  133.          move.w    #color+2*25,(a1)+
  134.          move.w    d1,(a1)+
  135.  
  136.          move.w    #color+2*13,(a1)+
  137.          move.w    d1,(a1)+
  138.  
  139.          move.l    #$01061020,(a1)+
  140.  
  141.          move.l    #$960000,(a1)+
  142.          move.l    #$960000,(a1)+
  143.          move.l    #$960000,(a1)+
  144.  
  145.          move.l    a4,d5
  146.          move.l    a3,d1
  147.          move.l    a2,d0
  148.  
  149.          add.l     d5,d2
  150.          add.l     d6,d3
  151.          add.l     d7,d4
  152.          add.l     #$1000000,d1
  153.  
  154.          dbf       d0,.GnaLoop
  155.  
  156.          bra       .Loop
  157.  
  158. .Done:
  159.          move.l    #$960000,RipolinBuf+4
  160. ;fe
  161. ;fs "_BGRipolin"
  162. _BGRipolin:
  163.          lea       BGRipolinData(pc),a0
  164.          lea       RipolinBuf+2*4,a1
  165.  
  166.          moveq     #0,d0
  167.          moveq     #0,d2
  168.          moveq     #0,d3
  169.          moveq     #0,d4
  170.  
  171.          addq.l    #1,a0
  172.          move.b    (a0)+,d2
  173.          move.b    (a0)+,d3
  174.          move.b    (a0)+,d4
  175.  
  176.          swap      d2
  177.          swap      d3
  178.          swap      d4
  179.  
  180.          sub.l     a5,a5
  181.  
  182. .Loop:
  183.          move.l    (a0)+,d0
  184.          bmi.s     .Done
  185.  
  186.          move.l    a5,d5
  187.          move.l    d0,a5
  188.          sub.l     d5,d0
  189.  
  190.          moveq     #0,d5
  191.          moveq     #0,d6
  192.          moveq     #0,d7
  193.  
  194.          addq.l    #1,a0
  195.          move.b    (a0)+,d5
  196.          move.b    (a0)+,d6
  197.          move.b    (a0)+,d7
  198.  
  199.          swap      d5
  200.          swap      d6
  201.          swap      d7
  202.  
  203.          sub.l     d2,d5
  204.          sub.l     d3,d6
  205.          sub.l     d4,d7
  206.  
  207.          divs.l    d0,d5
  208.          divs.l    d0,d6
  209.          divs.l    d0,d7
  210.  
  211.          subq.w    #1,d0
  212. .GnaLoop:
  213.          move.l    d0,a2
  214.          move.l    d1,a3
  215.          move.l    d5,a4
  216.  
  217.          swap      d2
  218.          move.b    d2,d0
  219.          and.w     #$f0,d0
  220.          move.b    d2,d1
  221.          and.w     #$f,d1
  222.          swap      d2
  223.  
  224.          swap      d3
  225.          move.b    d3,d5
  226.          and.b     #$f,d5
  227.          lsl.b     #4,d1
  228.          or.b      d5,d1
  229.  
  230.          move.b    d3,d5
  231.          and.b     #$f0,d5
  232.          lsr.b     #4,d5
  233.          or.b      d5,d0
  234.          swap      d3
  235.  
  236.          swap      d4
  237.          move.b    d4,d5
  238.          and.b     #$f,d5
  239.          lsl.w     #4,d1
  240.          or.b      d5,d1
  241.  
  242.          move.b    d4,d5
  243.          and.b     #$f0,d5
  244.          lsr.b     #4,d5
  245.          lsl.w     #4,d0
  246.          or.b      d5,d0
  247.          swap      d4
  248.  
  249.          ;lea       4*4(a1),a1
  250.  
  251.          move.w    #color,(a1)+
  252.          move.w    d0,(a1)+
  253.  
  254.          move.l    #$01061220,(a1)+
  255.  
  256.          move.w    #color,(a1)+
  257.          move.w    d1,(a1)+
  258.  
  259.          move.l    #$01063020,(a1)
  260.  
  261.          lea       20*4(a1),a1
  262.  
  263.          move.l    a4,d5
  264.          move.l    a3,d1
  265.          move.l    a2,d0
  266.  
  267.          add.l     d5,d2
  268.          add.l     d6,d3
  269.          add.l     d7,d4
  270.  
  271.          dbf       d0,.GnaLoop
  272.  
  273.          bra       .Loop
  274.  
  275. .Done:
  276.          rts
  277. ;fe
  278. ;fs "Ripolin datas"
  279. gnabg    = 32
  280.  
  281. MntRipolinData:
  282.          dc.l      $888888
  283.          dc.l      gnabg,$888888
  284.          dc.l      61+gnabg,$999999
  285.          dc.l      122+gnabg,$ffffff
  286.          dc.l      256,$ffffff
  287.          dc.l      -1
  288.  
  289. BGRipolinData:
  290.          dc.l      $ffffff
  291.          dc.l      122+gnabg,$ffffff
  292.          dc.l      173+gnabg,$508030
  293.          dc.l      256,$204000
  294.          dc.l      -1
  295. ;fe
  296.